In most computer applications there is a need to manage and access data describing or representing properties or conditions of a real or an imaginary object. A database system, which essentially is a computerized record-keeping system, is an example in which objects or occurences are described by means of items of information stored in the database. An object could e.g. be a person or an enterprise with a number of characteristics, and typically there is a number of different parties interested in different aspects of that object. Similar examples are databases within corporate networks, wherein different departments are interested in different aspects of the activity, such as finance, production, sales and storage.
In the case of a person being described, the interested parties may e.g. be a hospital, a bank and the tax authorities, each having a separate database specialized for their specific needs. Now, the person may be described by such characteristics as name, identification number, blood group, income and debts. Some of these particulars are static, e.g. blood group, and others are variable, e.g. income and debts. In this example the hospital would be primarily interested in recording name, identification number and blood group, while the bank would record name, identification number, income and debts and the tax authorities would record name, identification number and income.
It is clear that there is an overlap between the different databases, and it is typically uncertain who is the one responsible for the maintainance of each item of information, with a great risk of inconsistency as a disadvantegeous consequence. Sometimes the parties need to communicate information between their databases, whereby data may be exchanged via e.g. file systems, which requires a common standard regarding operating systems and communications means, something which is not so easily achieved. In general, each database is individually designed according to the owner's needs and view of the object and has a unique set of associations within the database. In state of the art databases, e.g. SQL interpreting relational databases, a database model has to be choosen and fixed, and is thereafter in practice statically storing associations and data items in a user specific way. Recent development in the usage of multimedia, where a number of different data presentation techniques are used simultaneously, for example sound, images and movement of a simulation device, has shown that state of the art access control is inadequate for this mixture of information.
In this text the term database is used in a broad sense, referring to any computer-based system in which data items or signals are occurring, stored and processed in some way. Firstly, there is the common database concept in the above example, and secondly, any data processing system which handles previously stored data and newly recorded data, such as signals read out or sampled from an apparatus, constitutes a kind of database. An example of the latter is the case in which a periferal device, e.g. a printer, is coupled to a computer network. In order to utilize the printer it is necessary to combine data describing the printer parameters with information about the current condition of the printer. In state of the art data processing systems and methods there is no natural way to handle information of different nature, such as parameters and time dependent signals, in a conform manner.
There are some previously known methods for handling certain time dependent data in a database, for example a method for the storage of multi-versioned data with retrieval based on searched query, which is disclosed in the U.S. Pat. No. 5,317,729. This method is, however, directed to version control of engineering changes to a product design in a database allowing multiple users to work on the same object. Different data versions are kept track of i.a. by means of change notices and by storing affected data items in certain files. This method allows storage and retrieval of time-oriented and view-oriented versions of engineering change information in which the engineering change information progresses through a set of status conditions, and access to the data by different user groups is conditioned upon the status of the information. When an attribute to an object stored in a relational database is changed, a new version of that object is created. A logical key value is used to identifie data items considered to be different instances of attributes to the same object. The access level for information associated to an object is based on security aspects for a product project and can be set by adding to the object an attribute depending on the required security level. Different user groups can then have access to different views of the stored information. It is in this method also possible to retrieve information from different given versions of an object. A further object of this known method is to provide improved processing efficiency of versioned data stored in a relational data base table.
The U.S. Pat. No. 5,253,362 describes a method for storing, retrieving and indicating a plurality of annotations in a data cell. This method also employs a kind of version control in comparing previously stored data with new input data, and in recording a time and user indication for each data input. This method is, however, primarily directed to distribution of data to different locations, which is suggested to be used in record keeping system where one piece of information is entered into multiple records.
A data access structure for facilitating processing of statistical inquires on stored data is disclosed in the U.S. Pat No. 5,265,244 and the corresponding EP-A-0 235 535 document. This structure includes a plurality of data nodes storing whole records of data, and a plurality of access nodes, each storing at least one pointer to another access node or to a data node, and organized so that each access node is linked directly or indirectly to at least one data node. Statistical information is associated with a subset of the plurality of access nodes and data nodes concerning the records stored in the data node or data nodes linked directly or indirectly to the respective access node and/or data node.
A disadvantage with prior art access and version handling methods is that data to a large extent is fixed in predefined association structures requiring dedicated application programs to retrieve data, and there is a commercial demand for an access method that overcomes these and other problems.
EP-A-0 229 232 discloses a file manager system having access nodes where each access node maintains lists of attributes for characterizing the respective nodes.
EP-A-0 398 645 discloses a system for controlling access to objects in an object oriented database by means of an access control list. Permission for different operations on the objects of the database are assigned to different users and listed in the access control list.